1. Field of the Invention
The present invention generally relates to retransmission and rescheduling queues in a communications system, including a Digital Subscriber Line (DSL) system.
2. Background Art
Retransmission schemes in communication systems (e.g., DSL systems and other wired and wireless communication systems) are implemented to ensure that data safely arrives at its destination. In simplified terms, an exemplary retransmission scheme executes as follows. A transmitting device sends data (e.g., in the form of a data transmission unit (DTU), a data packet, etc.) to a receiving device. The receiving device checks the received data for errors. If the receiving device detects one or more errors, the receiving device sends a request to the transmitting device to retransmit that data. If the receiving device does not detect any errors, the receiving device can send an acknowledgement to the transmitting device that the data was successfully received. If the transmitting device does not receive a request for retransmission or an acknowledgement from the receiving device, the transmitting device can retransmit the data due to the uncertainty of safe receipt.
In order for a retransmission scheme such as the one described above to work, a retransmission queue can be used at the transmitting device and a rescheduling queue can be used at the receiving device. When a data unit (e.g., a DTU) is sent from the transmitting device to a receiving device, a copy of the data unit is pushed into the retransmission queue to be temporarily saved in case retransmission of that data unit becomes necessary. The retransmission queue must therefore be sized such that the data unit copy does not leave the retransmission queue prior to the transmitting device receiving an acknowledgement of safe receipt or a request for retransmission from the receiving device (i.e., a roundtrip duration). A rescheduling queue is used to reorder received data units into a correct order prior to being provided for use by the receiving device. Similar to the retransmission queue, the rescheduling queue must be sized such that a retransmission of the data unit can be received by the receiving device prior to the original (perhaps error-containing) data unit being output by the rescheduling queue for use by the receiving device.
It is often necessary for the transmission data rate to be changed. For example, if conditions on the line between the transmitting device and the receiving device change (e.g., worsen or improve), the transmitting device may receive a request to change the data rate accordingly. However, the range of the transmission data rate variation is limited by the roundtrip duration, a maximum delay, and/or impulse noise protection. As described earlier, the roundtrip duration is the delay between when a data unit is first transmitted (and a copy is pushed into the retransmission queue) and when an acknowledgment is received from the receiving device. The maximum delay is the delay between when a data unit is first transmitted (and a copy is pushed into the retransmission queue) and when the data unit is provided to the receiving device by the rescheduling queue. Impulse noise correction involves a maximum duration of continuous corrections that can occur with retransmissions. Any or all three of these durations (roundtrip duration, maximum delay, and impulse noise protection) can limit the range variation for the transmission data rate and therefore must be tightly controlled.
Therefore, systems and methods are needed that allow transmission data rate changes while avoiding violation of roundtrip and maximum delays and continuing to guarantee impulse noise protection.